package gestorHotel.habitacion;

import java.util.ArrayList;

import gestorHotel.servicios.Minibar;
import uiMain.menuconsola.Main;

public class Habitacion {
	private int numero;
	private TipoEstadoHabitacion estado;
	private int minutosNacionales;
	private int minutosInternacionales;
	private int minutosInternet;
	private String tipo;
	private String categoria;
	private ArrayList<Minibar> minibar;
	
	public Habitacion() {
		this.numero = 0;
		this.estado = TipoEstadoHabitacion.LIBRE;
		this.minutosNacionales = 0;
		this.minutosInternacionales = 0;
		this.minutosInternet = 0;
		this.tipo = null;
		this.categoria = null;
		this.minibar = null;
	}
	
	public Habitacion(int numero, TipoEstadoHabitacion estado, int minutosNacionales, 
			int minutosInternacionales, int minutosInternet, String tipo, String categoria,
			ArrayList<Minibar> minibar) {
		this.numero = numero;
		this.estado = estado;
		this.minutosNacionales = minutosNacionales;
		this.minutosInternacionales = minutosInternacionales;
		this.minutosInternet = minutosInternet;
		this.tipo = tipo;
		this.categoria = categoria;
		this.minibar = minibar;
	}
	
	public int getNumero() {
		return this.numero;
	}
	
	public TipoEstadoHabitacion getEstado() {
		return this.estado;
	}
	
	public int getMinutosNacionales() {
		return this.minutosNacionales;
	}
	
	public int getMinutosInternacionales() {
		return this.minutosInternacionales;
	}
	
	public int getMinutosInternet() {
		return this.minutosInternet;
	}
	
	public String getTipo() {
		return tipo;
	}

	public String getCategoria() {
		return categoria;
	}
	
	public void setNumero(int numero) {
		this.numero = numero;
	}
	
	public void setEstado(TipoEstadoHabitacion estado) {
		this.estado = estado;
	}
	
	public void setMinutosNacionales(int minutosNacionales) {
		this.minutosNacionales = minutosNacionales;
	}
	
	public void setMinutosInternacionales(int minutosInternacionales) {
		this.minutosInternacionales = minutosInternacionales;
	}
	
	public void setMinutosInternet(int minutosInternet) {
		this.minutosInternet = minutosInternet;
	}
	
	public void setTipo(String tipo) {
		this.tipo = tipo;
	}
	
	public void setCategoria(String categoria) {
		this.categoria = categoria;
	}
	
	public ArrayList<Minibar> getMinibar() {
		return minibar;
	}

	public void setMinibar(ArrayList<Minibar> minibar) {
		this.minibar = minibar;
	}
	
	public void crear(String h) {
		if (!Main.hoteles.get(h).getHabitaciones().containsKey(this.numero))
			Main.hoteles.get(h).getHabitaciones().put(this.numero, this);
	}
	
	public void eliminar(String h) {
		if (Main.hoteles.get(h).getHabitaciones().containsKey(this.numero))
			Main.hoteles.get(h).getHabitaciones().remove(this.numero);
	}
	
	public void editar(String h) {
		if (Main.hoteles.get(h).getHabitaciones().containsKey(this.numero))
			Main.hoteles.get(h).getHabitaciones().put(this.numero, this);
	}
	
	public void mostrar() {
		System.out.println();
		System.out.println("Número: " + this.numero);
		System.out.println("Estado: " + this.estado);
		System.out.println("Minutos nacionales gastados: " + this.minutosNacionales);
		System.out.println("Minutos internacionales gastados: " + this.minutosInternacionales);
		System.out.println("Minutos internet gastados: " + this.minutosInternet);
		System.out.println("Tipo: " + this.tipo);
		System.out.println("Categoría: " + this.categoria);
	}
	
	public double getPrecio() {
		if (this.tipo.equals("individual"))
			return 40.0;
		else
			return 70.0;
	}
}
